home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr48
/
vericard.zip
/
VERICARD.PAS
< prev
Wrap
Pascal/Delphi Source File
|
1993-04-19
|
1KB
|
64 lines
{$F+,D+,L+}
unit Vericard;
interface
function Vc(c : string) : char;
implementation
function Vc(c : string) : char;
var
card : string[21];
Vcard : array[0..21] of byte absolute card;
Xcard : integer;
Cstr : string[21];
y, x : integer;
begin
x := 0;
Cstr := ' ';
Cstr := '';
fillchar(Vcard, 22, #0);
card := c;
for x := 1 to 20 do
if (Vcard[x] in [48..57]) then
Cstr := Cstr + chr(Vcard[x]);
card := '';
card := Cstr;
Xcard := 0;
if NOT odd(length(card)) then
for x := (length(card) - 1) downto 1 do
begin
if odd(x) then
y := ((Vcard[x] - 48) * 2)
else
y := (Vcard[x] - 48);
if (y >= 10) then
y := ((y - 10) + 1);
Xcard := (Xcard + y)
end
else
for x := (length(card) - 1) downto 1 do
begin
if odd(x) then
y := (Vcard[x] - 48)
else
y := ((Vcard[x] - 48) * 2);
if (y >= 10) then
y := ((y - 10) + 1);
Xcard := (Xcard + y)
end;
x := (10 - (Xcard mod 10));
if (x = 10) then
x := 0;
if (x = (Vcard[length(card)] - 48)) then
Vc := Cstr[1]
else
Vc := #0
end;
END.